Sparks of artificial general intelligence: Early experiments with GPT-4
Sparks of Artificial General Intelligence: Early experiments with GPT-4
Abstract
- LLM이 다양한 분야, 다양한 과업에서 인간에 근접한 성능을 보이고 있음
- OpenAI에서 개발 중인 GPT-4 초기 버전을 평가했는데, 인공일반지능의 초기 버전으로 간주해도 될 것 같음
- 이 연구에서는 GPT-4의 한계와 해결해야 할 도전 과제에 집중하였음
- 결론부에서는 이 기술이 미칠 사회적 영향과 앞으로의 연구 방향을 논의
1. Introduction
- 지능을 정의하기는 매우 어려움. 심리학, 철학, 컴퓨터 과학 등 다양한 분야에서 여전히 논쟁 중. (규: Alan Turing의 Computing machinery and intelligence 논문이 무려 73년 전)
- 지능이라고 불리려면 특정 분야의 특정 과업만 잘 수행하는 게 아니라 폭넓은 분야에서 다양한 과업을 수행할 수 있어야 하며, 이러한 지능(즉 AGI)을 구현하는 일은 AI 연구의 오랜 야망이었으나 그동안 큰 성과가 없었음.
- 이 연구에서는 인공일반지능AGI이란 “추론, 계획 세우기, 경험을 통한 학습 등 폭넓은 지능적 역량에 있어서 인간에 가까운 수준 또는 인간보다 뛰어난 수준의 성능을 보이는 시스템”을 지칭. 결론부에서 다른 정의들에 대해서도 논의하겠음 (규: 결론부에서는 그동안의 여러 정의들을 소개하고, 각 정의에 조금씩 부족한 면이 있음을 지적)
- 최근 몇 년 사이 가장 주목할 성과는 거대언어모델(LLM; Large language models) 기반 자연어처리(NLP; Natural language processing). 트랜스포머 아키텍쳐, 대규모 데이터, 자기지도학습 덕분.
- 본 연구는 주로 GPT-4와 ChatGPT를 비교. GPT-4는 여전히 환각이나 편향 등 다양한 문제가 존재하지만, 그럼에도 불구하고 AGI에 근접하고 있는 걸로 보임.
- 우리는 GPT-4의 지능이 컴퓨터과학의 진정한 패러다임 전환을 알리는 신호라고 봄. (규: Schillace laws가 생각나요)
1.1. GPT-4의 지능을 연구하기 위한 우리의 접근법 Our approach to studying GPT-4’s intelligence
- 전통적 방법은 훈련 데이터와 독립적인 표준 벤치마크 데이터셋으로 평가하기
- 하지만 GPT-4에는 두 가지 이유에서 적합하지 않음.
- GPT-4의 트레이닝 데이터가 공개되어 있지 않음 (규: 벤치마크 데이터셋이 이미 트레이닝에 활용되었을 가능성이 있다는 우려. 인간으로 치자면 수능 시험지 유출이 우려되므로 수능 점수는 못 믿겠다는 말)
- GPT-4는 정해진 답이 없는 상황, 여러 답이 가능한 상황, 상호작용이 있는 상황 등에서도 잘 작동하는데 기존 방식은 이러한 면모를 평가하기 어려움
- 그러한 이유에서 우리는 기계학습이 아니라 전통적인 심리학과 유사한 방법을 차용. 다만 엄격한 방법론은 아니어서 정량적 평가는 어려울 것. 과업 예시:
- “소수에 대한 시를 써줘”: 초등 수학, 시적 표현, 문장 생성 등의 창의적 결합 능력을 필요로 함
- “TiKZ으로 유니콘 그려줘”: 시각적 상상력과 프로그래밍의 창의적 결합 능력을 필요로 함. (규: TiKZ은 LaTeX에서 도표를 표현하는 확장 언어)
- 위 과업을 조금씩 변형하여 후속 질문을 함. 이 방법을 통해 ‘단순 기억’이 아니라는 점을 드러내고자 하였음. (규: 이 맥락에서 ‘단순 기억’이란, 트레이닝 데이터를 달달 외워서 답을 하는 상황을 말함)
1.2. 시연의 구성 Organization of our demonstration
(규: 논문의 이후 구성을 설명하는 내용. 생략)
2. Multimodal and interdisciplinary composition
3.1. From instructions to code 자연어 지시에 따라 코딩하기
- 주석(docstring)과 코드 쌍으로 구성된 벤치마크 데이터셋 HumanEval에 대한 평가에서 다른 LLM에 비해 월등한 성능을 보임
- HumanEval을 이미 학습했기 때문일 수 있으니, LeetCode(인간들이 개발 공부할 목적으로 만든 문제 은행 사이트)로 평가를 해봤으나, 여기에서도 높은 점수 획득
- LeetCode의 가상 인터뷰를 만점으로 통과
- 코딩 테스트용 문제는 현실의 프로그래밍과 다르다는 지적이 많음. 현실의 프로그래밍은 도메인 지식, 창의성, 기존의 수많은 컴포넌트와 라이브러리 활용, 존재하는 코드를 수정하기 등 매우 복잡. 이러한 상황을 고려하여 데이터 시각화, LaTex 코딩, 프론트엔드 개발, 딥러닝 개발(규: 앗!? recursive self-improvement?) 등 더 현실적인 문제를 풀게 해봤는데 썩 잘함
3.2. Understanding existing code 인간이 작성한 코드를 이해하기
- 어셈블리 코드를 고수준 언어로 Reverse engineering 하기: 프로그래머가 쓰는 각종 도구(디버거 등)를 사용하며 어셈블리 코드의 작동 방식을 ‘설명’한 후 파이썬 코드로 번역했음.
- 코드 실행 결과를 추론하기: C 언어 소스코드를 보여준 후, 이 코드가 실행되면 어떤 결과가 나올지 추론하도록 시켰더니 문제 없이 수행
- 코드 실행 과정을 설명하기: 파이썬 알고리즘을 제시한 후 설명하라고 했더니 잘 했음
- 의사 코드(pseudo-code) 실행하기: 의사 코드는 엄밀성이 떨어지는 가짜 코드라서 좀 더 ‘인간같은’ 사고를 필요로 함. 문제 없이 잘 수행하였음. 미래에는 자연어로 코딩을 할 수 있을 것.
4. Mathematical abilities
…
9.1. 오류가 있는 콘텐츠 생성의 문제Challenges of erroneous generations
…
9.2. 오정보와 조작Misinformation and manipulation
…
10. Directions and Conclusions
- GPT-4가 여러 분야, 여러 과업에서 인간 수준에 비견될 수 있다고 평가. 이 결론은 OpenAI의 자체 결론과 동일.
- 본 연구의 주요 목표는 GPT-4의 지능을 평가하는 것. 이 작업이 유용한 첫 단계가 되었기를 희망함.
- 앞으로의 벤치마크는 기존의 좁은 AI 모델을 평가하는 방식 대신 인간을 평가하는 방식과 유사하게 바뀌어야 함.
- 본 연구의 핵심 주장은 GPT-4가 일반 지능의 성격을 일부 보이는 듯 하다는 점. 하지만 완전한 AGI가 되려면 풀어야 할 과제가 많음.
10.1. Definitions of intelligence, AI, and AGI
- 도입부에서 “추론, 계획 세우기, 경험을 통한 학습 등 폭넓은 지능적 역량에 있어서 인간에 가까운 수준 또는 인간보다 뛰어난 수준의 성능을 보이는 시스템”을 AGI라고 정의했으나 지나치게 피상적.
- 다른 여러 정의들이 제안된 바 있으나 조금씩 부족한 점이 있음. 예:
- Intelligence measures an agent’s ability to achieve goals in a wide range of environments(Leg08): 능동적으로 골을 추구하지 않는, 수동적이거나 반응적인 지능을 포함하지 못함
- A system that can do anything a human can do(LH07): 인간 내 다양성이 존재한다는 점을 간과 + 지능에 대한 인간중심적인 정의
- 비록 본 연구에서 기존 정의를 채택하지는 않았으나 각 정의는 지능의 중요한 측면들을 잘 드러내고 있음.
10.2. On the path to more general artificial intelligence
GPT 계열의 LLM이 가지는 공통적 문제들.
- 확신에 대한 조율confidence calibration: 현재의 모델은 언제 확신과 추측을 잘 구분하지 못함. 훈련 데이터에 없는 사실을 만들어내기도 하고, 일관성이 없는 답을 하기도 함. 이러한 경우에도 확신에 찬 말투로 대답을 하는 경향이 있음.
- 장기기억long-term memory: 컨텍스트가 매우 제한적이로 상태없이stateless 작동하기 때문에 모델에게 새로운 사실을 가르치기 어려움. (규: 최근에는 GPT 계열 모델에 장기기억을 연결하는 다양한 시도가 있다. 보통은 벡터 DB가 장기기억 역할을 한다)
- 연속적 학습continual learning: 현재 모델은 아직 스스로를 업데이트할 수 없고 훈련 시점을 기준으로 고정되어 있음.
- 개인화Personalization: 현재 모델은 개인화가 어려움 (규: LoRA 등의 기법이 각광 받는 중. 성능 저하 없이, 매우 적은 비용으로 파인 튜닝이 가능)
- 계획 세우기 및 개념적 도약planning and conceptual leaps: ‘유레카’ 같은 개념적 도약이 필요한 과업을 잘 수행하지 못함.
- 투명성, 해석가능성, 일관성Transparency, interpretability and consistency: 훈련 데이터와 일관성 있는 내용을 만들어내는지 여부를 검증하기 어려움. 종종 사후 설명을 잘 하기도 하는데 설명과 실제 콘텐츠 사이에 일관성이 없는 경우도 있는 등 문제가 있음.
- 인지적 오류와 비합리성cognitive fallacies and irrationality: 확증 편향, 엥커링 등 인간과 유사한 인지적 오류나 비합리성을 보이기도 함.
- 입력 민감성과 관련된 문제들challenges with sensitivity to inputs: 프롬프트의 사소한 차이가 응답 콘텐츠에 큰 영향을 미침. 즉 강건성robustness이 떨어짐.
현재의 ‘다음 단어 예측’ 방식을 어떻게 확장할 수 있을까
- 계산기, DB 등 외부 모듈 호출하기
- 기존의 ‘다음 단어 예측’을 ‘fast-thinking’이라고 간주하고, ‘slow-thinking’ 메커니즘을 추가로 도입하기. (규: Thinking fast and slow)
- 맥락을 저장하는 벡터 형태의 장기기억을 통합하기
- 토큰 시퀀스 대신 문단-문장-단어 식의 계층 구조를 도입하기.
10.3. What is actually happening?
- 본 연구는 현상적 측면에 대한 분석에 그침.
- 내부에서 무슨 일이 벌어지는지, 왜 이러한 현상이 나타나는지에 대한 설명이 부족.
- LLM에 대한 분석은 갑자기 매우 중대한 문제가 되었음.